import request from '@/config/axios'

// ERP 二级库库存 VO
export interface SecStockVO {
  id: number // 编号
  warehouseId: string // 仓库编号
  productId: string // 产品编号
  productUnitId: number // 产品单位
  productUnitName: string // 产品单位
  productStandards: string // 产品规格
  productName: string // 产品名称
  deptId: string // 单位id
  productPrice: number // 产品单价
  productBatch: string // 批次
  inboundBatch: string // 批次
  productValidityDate: Date // 有效期
  count: string // 库存数量
  productBatchList: string[] // 批次列表
  inboundBatchList: string[] // 批次列表
}



// ERP 二级库库存 API
export const SecStockApi = {
  // 查询ERP 二级库库存分页
  getSecStockPage: async (params: any) => {
    return await request.get({ url: `/erp/sec-stock/page`, params })
  },

  getSecStockPageByDetain: async (params: any) => {
    return await request.get({ url: `/erp/sec-stock/pageByDetain`, params })
  },

    // 查询ERP 二级库批次列表
    getBatchsByProductId: async (productId: string) => {
      return await request.get({ url: `/erp/sec-stock/getBatchsByProductId?productId=${productId}`})
    },

    getInboundBatchsByProductId: async (productId: string,productBatch: string) => {
        return await request.get({ 
          url: `/erp/sec-stock/getInboundBatchsByProductId?productId=${productId}&productBatch=${productBatch}` 
        })
      },
  
    // 查询ERP 二级库商品列表
    getProductIds: async () => {
      return await request.get({ url: `/erp/sec-stock/getProductIds` })
    },

    // 查询ERP 二级库商品列表
    getIds: async () => {
      return await request.get({ url: `/erp/sec-stock/getIds`})
    },
  
    // 查询ERP 根据商品id和批次查询库存信息
    getProductByBatch: async (productId: string, productBatch: string) => {
      return await request.get({ 
        url: `/erp/sec-stock/getProductByBatch?productId=${productId}&productBatch=${productBatch}` 
      });
    },

  // 查询ERP 二级库库存详情
  getSecStock: async (id: number) => {
    return await request.get({ url: `/erp/sec-stock/get?id=` + id })
  },

  // 新增ERP 二级库库存
  createSecStock: async (data: SecStockVO) => {
    return await request.post({ url: `/erp/sec-stock/create`, data })
  },

  // 修改ERP 二级库库存
  updateSecStock: async (data: SecStockVO) => {
    return await request.put({ url: `/erp/sec-stock/update`, data })
  },

  // 删除ERP 二级库库存
  deleteSecStock: async (id: number) => {
    return await request.delete({ url: `/erp/sec-stock/delete?id=` + id })
  },

  // 导出ERP 二级库库存 Excel
  exportSecStock: async (params) => {
    return await request.download({ url: `/erp/sec-stock/export-excel`, params })
  },

  // 根据deptId、type 查询库存
  getSecStockListByDeptId: async (type,Sname?,deptId?) => {
    return await request.get({ url: `/erp/sec-stock/get-dept-id?type=`+type+'&Sname='+Sname+'&deptId='+deptId })
  },
  

  // 查询ERP 二级库库存详情
    getSecStockList: async (deptId? : number) => {
      return await request.get({ url: `/erp/sec-stock/getList?deptId=` + deptId})
    },

    // 查询ERP 二级库库存详情
    getSecStockListByBatch: async () => {
      return await request.get({ url: `/erp/sec-stock/getListByBatch?`})
    },

}
